找传奇、传世资源到传世资源站!

有序表实现多项式相加

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

#include<iostream>
#include"DXSH.h"
using namespace std;
int main()
{
    LinkList LA,LB;
    int textA1[]={4,7,10,18,21,40,56};
    int textA2[]={6,-3,-3,2,5,-1,-5};
    int textB1[]={7,9,18,21,40,68,70,100};
    int textB2[]={3,1,-2,-2,1,5,1,1};
    int lena1=sizeof(textA1)/sizeof(textA1[0]);//求出一维数组长度语句一
    int lena2=sizeof(textA2)/sizeof(int);//求出一维数组长度语句二
    int lenb1=sizeof(textB1)/sizeof(textB1[0]);//求出一维数组长度语句一
    int lenb2=sizeof(textB2)/sizeof(int);//求出一维数组长度语句二
    if(lena1!=lena2||lenb1!=lenb2) cout<<"error"<<endl;
    //LB=Create_L(text1,text2,lena1);
    int *A1=new int[lena1];//相比之下A1,A2是动态分配内存
    int *A2=new int[lena2];
    int *B1=new int[lenb1];//相比之下B1,B2是动态分配内存
    int *B2=new int[lenb2];
    for(int i=0;i<=lena1-1;i )
    {
        A1[i]=textA1[i];
        A2[i]=textA2[i];
    }
    for(int i=0;i<=lenb1-1;i )
    {
        B1[i]=textB1[i];
        B2[i]=textB2[i];
    }
    LA=Create_L(A1,A2,lena1);
    LB=Create_L(B1,B2,lenb1);
    cout<<"带头结点的循环有序表A(第一行为次数,第二行为系数):"<<endl;
    Traverse_L(LA);
    cout<<"带头结点的循环有序表B(第一行为次数,第二行为系数):"<<endl;
    Traverse_L(LB);
//实现两个带头结点的循环有序链表的并,同时合并同类项
    Union_OL(LA,LB);
    cout<<"完成第一步合并同类项的运算之后:"<<endl;
    Traverse_L(LA);
//剔除系数为零的项
    int t;
    t=Locate_OL(LA);//若LA->data2中无0,则返回t=0
    //cout<<"\n"<<t<<endl;
    while(t)
    {
        Delete_OL(LA);
        t=Locate_OL(LA);
        //cout<<"\n"<<t<<"\n";
    }
    cout<<"完成第二步剔除系数为零的运算之后:"<<endl;
    Traverse_L(LA);
}

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复